﻿
Namespace HybrisItems.Model

    ''' <summary>
    ''' Defines how the values of the attribute will be stored. Possible values: 'cmp' (deprecated), 'jalo' (not persistent), and 'property' (persistent).
    ''' </summary>
    ''' <remarks></remarks>
    <Serializable()> _
    Public Class PersistenceModel

        ''' <summary>
        ''' Configures a persistence definition for a specific database used at create statement.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Column As ColumnTypeModel

        ''' <summary>
        ''' Defines how the values of the attribute will be stored. Possible values: 'cmp' (deprecated), 'jalo' (not persistent), and 'property' (persistent).
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Type As TypesEnum

        Public Enum TypesEnum

            ''' <summary>
            ''' Attribte will be stored persistent.
            ''' </summary>
            ''' <remarks></remarks>
            [property]

            ''' <summary>
            ''' Attribte will be stored non-persistent.
            ''' </summary>
            ''' <remarks></remarks>
            jalo

            ''' <summary>
            ''' Deprecated
            ''' </summary>
            ''' <remarks></remarks>
            <Obsolete()>
            cmp

        End Enum

        ''' <summary>
        ''' Deprecated. Only usable in relation with 'cmp' persistence type. Default is empty.
        ''' </summary>
        ''' <value></value>
        ''' <returns></returns>
        ''' <remarks></remarks>
        Public Property Qualifier As String

    End Class

End Namespace
